Some existing operating system schedulers are designed to maximize processor performance. The schedulers spread an execution load across all processors in a multiprocessor system to maximize performance. The processors are always held at a maximum clock frequency by the operating system. The scheduler algorithms do not change the quantity of processors powered or the clock frequency.
On some existing laptop and desktop systems with power saving features, a component of the operating system other than the scheduler will sometimes move the processors into lower clock frequency states if the system is determined to be not in use by the user. This is typically done by detecting if the user is using the mouse or keyboard. However, this detection does not indicate whether the system is under low execution load. For example, a background process might be performing calculations long after the user walked away from the system. Changing the processor clock frequency in this example will lead to undesirable situations (e.g., the system slows down or powers off completely instead of completing the work).
Other existing systems allow the user to choose a setting on a graduated scale that has battery life on one end and speed on the other. The existing systems determine when to turn off peripherals based on the setting and after determining that the user is not interacting with the device.